Skip to content

Conversation

@devin-ai-integration
Copy link

Phase 1: Java 8 to Java 17 Migration - Dependency Compatibility Assessment

Summary

This PR implements Phase 1 of the Java 8 to Java 17 migration for the BankApp Spring Boot application. This phase only updates dependency versions in pom.xml to be compatible with Java 17 - no code changes are included.

⚠️ IMPORTANT: This PR will intentionally break the application's ability to compile and run. Code changes to adapt to the new dependencies will be handled in subsequent phases.

Key Changes:

  • Spring Boot: 2.1.4.RELEASE → 3.4.10 (requires Java 17 minimum)
  • Java version: 1.8 → 17
  • Swagger/OpenAPI: Replaced springfox-swagger2 + springfox-swagger-ui with springdoc-openapi-starter-webmvc-ui 2.8.13
  • H2 & Lombok: Versions now managed by Spring Boot 3.4.10 parent (auto-updated to compatible versions)

Review & Testing Checklist for Human

Risk Level: 🟡 YELLOW - Medium risk due to major version jumps and intentionally incomplete changes

  • Validate Spring Boot version choice: Confirm 3.4.10 is the right choice vs. 3.5.x or other stable releases
  • Review migration strategy: Confirm that dependency-first approach makes sense vs. doing everything at once
  • Verify springdoc-openapi replacement: Ensure this is the correct replacement for springfox and version 2.8.13 is appropriate
  • Test POM validation: Run mvn validate and mvn dependency:resolve to confirm no dependency resolution issues
  • Review migration documentation: Check PHASE1_MIGRATION_REPORT.md accurately describes what needs to be done in subsequent phases

Recommended Test Plan:

  1. Pull the branch and run mvn validate - should succeed
  2. Run mvn dependency:resolve - should succeed
  3. Run mvn compile - should fail (this is expected due to javax→jakarta namespace changes needed)
  4. Review the migration plan and ensure subsequent phases are clearly scoped

Notes

  • Maven validation and dependency resolution were tested and pass successfully
  • Application will not compile until Phase 2+ address code changes (javax→jakarta namespace, Spring Security config, Swagger config updates)
  • The detailed migration plan and rationale for all version choices are documented in PHASE1_MIGRATION_REPORT.md

Session Details:

- Upgrade Spring Boot from 2.1.4.RELEASE to 3.4.10
- Update Java version from 1.8 to 17
- Replace springfox-swagger with springdoc-openapi 2.8.13
- Document all dependency changes in PHASE1_MIGRATION_REPORT.md

This phase only updates dependency specifications. Code changes to
adapt to new dependencies will be handled in subsequent phases.

Co-Authored-By: Anke Hao <[email protected]>
@devin-ai-integration
Copy link
Author

🤖 Devin AI Engineer

I'll be helping with this pull request! Here's what you should know:

✅ I will automatically:

  • Address comments on this PR. Add '(aside)' to your comment to have me ignore it.
  • Look at CI failures and help fix them

Note: I can only respond to comments from users who have write access to this repository.

⚙️ Control Options:

  • Disable automatic comment and CI monitoring

@devin-ai-integration devin-ai-integration bot changed the base branch from dependabot/maven/io.springfox-springfox-swagger-ui-2.10.0 to master October 2, 2025 00:52
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant